package top.yxqz.sprinmvc.restful.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*;

/**
 * @author: 余小小
 * @date: 2023/5/5
 * @description： springmvc中实现restful风格接口
 * 1.get——————查询——查询所有——条件查询
 * 2.post—————添加——对象添加
 * 3.put——————修改——对象修改
 * 4.delete————删除——主键删除
 */
@Controller
@RequestMapping("/restful")
public class UserController {
    /**
     * 得到所有的用户
     * uri:/restful/user
     * 请求方式：get
     */
    @GetMapping("/user")
    public String getAllUser() {
        System.out.println("查询所有用户");
        return "user";
    }

    /**
     * 条件查询
     * 使用路径传参，或者使用对象传参
     * 参数的类型，必须要和你传入的类型保持一致
     * uri:/restful/user/
     * 请求方式：get
     */
    @GetMapping("/user/{id}")
    public String getUserById(@PathVariable("id") Integer id) {
        System.out.println("条件查询，查询用户id为" + id);
        return "user";
    }

    /**
     * 添加用户，使用post请求
     * uri:/restful/user
     * 请求方式：post
     */
    @RequestMapping(value = "/user", method = RequestMethod.POST)
    public String addUser() {
        System.out.println("添加用户");
        return "user";
    }

    /**
     * 修改用户，使用put请求
     * uri:/restful/user
     * 请求方式：put
     */
    @PutMapping("/user")
    public String  updateUser(){
        System.out.println("修改用户");
        return "user";
    }

    /**
     * 删除用户，使用delete请求
     * uri:/restful/user
     * 请求方式：delete
     */
    @DeleteMapping("/user")
    public String deleteUser(){
        System.out.println("删除用户");
        return "user";
    }
}
